perm filename MSS.MAN[MAN,LCS]26 blob
sn#209649 filedate 1976-04-07 generic text, type T, neo UTF8
00100 ********* MSS *************** 3/4/76
00200
00300 ***PROGRAMS TO EDIT MUSIC ON DISPLAY AND PRINT IT ON XGP OR CALCOMP ***
00400
00500 THIS SERIES OF PROGRAMS IS THE PROPERTY OF LELAND SMITH, PROFESSOR OF MUSIC
00600 AT STANFORD UNIVERSITY. IT MAY NOT BE USED OR COPIED WITHOUT HIS PERMISSION.
00700
00800 TO RUN: TYPE 'R MS' (SEE LAST PAGE FOR 'RPG' FILES.)
00900 (FOR THE PROGRAM TO RUN IT MUST PICK UP SOME SPECIAL
01000 DATA IN [DAT,LCS].)
01100
01200 <<<<<< SOME GENERAL ADVICE: 'SAVE' THE WORK OFTEN.(SEE PG.6)
01300
01400 PUT IN ALL NOTES, CLEFS, BEAMS, ETC.(ALL THE THINGS PUT IN
01500 WITH 'SCORE' INPUT) FIRST. THEN DO ALL 'JUSTIFYING'(PG.8)
01600 OF LINES, IF NEEDED, BEFORE ADDING OTHER WORDS, NUMBERS,
01700 ETC. (THE PROGRAM WILL RUN FASTER AND YOU WILL HAVE THE
01800 FINAL POSITIONS OF THE NOTES DISPLAYED.)
01900
02000 SEE SECTION ON 'SCORE' INPUT (PG.9) FOR FIRST STEPS IN INPUT.
02100
02200 HORIZANTAL SPACING IS ON A SCALE OF 0 TO 200.(SEE END OF PG.5)
02300
02400 VERTICAL SPACING IS BY NOTE LEVEL NUMBERS. THE POSITION OF MIDDLE C
02500 IN THE TREBLE CLEF IS TAKEN AS 1. D=2, G=5, C ABOVE=8, G ABOVE=12,
02600 ETC. THE B BELOW MIDDLE C =0, A=-1, G=-2, ETC. THUS VERTICAL
02700 POSITIONS UP FROM MIDDLE C MAY BE THOUGHT OF AS THE NUMBERS OF THE
02800 DIATONIC INTERVALS FROM C. (HOWEVER THIS DOES NOT FOLLOW WHEN GOING
02900 DOWN FROM MIDDLE C.)
03000
03100
03200 THE CODE NUMBERS: ROUGH INDEX: THE 'PAGE' NUMS.
03300
03400 1 - NOTES CODE NUMS. 2,3,4,5
03500 2 - RESTS LETTERS, WORDS(T) 6
03600β3 - CLEFS, DYNAMICS VARIOUS COMMANDS 7
03700 4 - LINES, BOXES, DASHES XGP INFO. 7
03800 Z,P,G,S,AD, ETC. 7
03900 5 - SLURS, BRACKETS EDIT MODES 8
04000 6 - BEAMS MOVE, COPY, ETC. 8
04100 7 - TRILL, PEDALS, OTTAVA DP, JUSTIFY, ETC. 8
04200 8 - STAFF IN, READ (INPUT) 9
04300 9 - MISC. AUTO. SPACING 10
04400 10 - NUMBERS
04500 11 - LIBRARY SUBROUTINE LIST 11
04600 12 - CIRCLES RPG LIST 12
04700 16 - LETTERS
04800 17 - KEY SIG.
04900 18 - METER
05000 101 - SPACING SCALE
05100
05200
05300
05400
05500
05600
05700
05800
05900
06000
06100
06200
06300 *** SUMMARY OF LETTER COMMANDS ***
06400
06500 G name=GET name RS name=RESTART AND GET name
06600 SA name=SAVE name SB name=SAVE WITH DPY, name
06700 SM =SAVE WITH SAME NAME DPY GM nsme=GET FILE name AND ADD TO DPY.
06800
06900 IN n,n,n... = INPUT ON STAFF n, etc.
07000 READ name n = READ SOS FILE name AND PUT IT ON STAFF n.
07100 T n,n... = TYPE IN WORDS, LETTERS, n = STAFF n, ETC.
07200 Z n,n,n = ZOOM LENS TO SIZE n, ETC.
07300 P n,n... =PRINT CURRENT VAL. OF PARAM n, OR LIST OF ITEMS n→n.
07400 SP n = SET SPACING STAFF NUMBER TO n.
07500 AD n,n = ADJUST STEMS TO MEET BEAMS ON STAFF n, ETC.
07600 SH = SHOW SHAPES OF TYPE FONTS BEING DISPLAYED.
07700 SHX = (EXIT) GO BACK TO 'PRIMATIVE' UPPER CASE ONLY.
07800 SHP = SHOW ALL IN 'PRIM' FONT (UPPER AND LOWER CASE).
07900
08000 M = MOVE A GROUP OF ITEMS
08100 C = COPY A GROUP OF ITEMS
08200 A = ALTER THE PARAMETERS OF A GROUP OF ITEMS
08300 ST n,n = EDIT ON STAFF n CODE NUMBER n.
08400 ED n,n,n = EDIT AT HORIZ. POS. n, ON STAFF n, CODE NUM. n.
08500 L,R,U,D n = LEFT, RIGHT, UP, DOWN n NOTCHES.
08600 I n = EDIT ITEM NUMBER n.
08700 S = SET; THEN A = ALIGN.
08800 LP = LIGHT PEN
08900 DP n,n,... = MAKE DISAPPEAR STAVES n,n...
09000 J = JUSTIFY A LINE.
00100 ******* KEY TO THE PARAMETER NUMBERS *******
00200
00300 P1=CODE NUMBER, P2=STAFF NUMBER,
00400 P3=HORIZANTAL POSITION, P4=VERTICAL POSITION BY NOTE NUMBER,
00500 P5=OFTEN 2ND VERTICAL POS., P6=OFTEN 2ND HORIZANTAL POS.
00600
00700 THE FOLLOWING CODE NUMBERS ARE USED MAINLY FOR EDITING.
00800 -------- SECTION I ---------
00900
01000 1 NOTES: 1, STAFF, POS, NOTE NUM(VERT. POS.),
01100 (P5) STEM DIR & ACCI,
01200 (P6) FILLED IN? (≥0), DECIS REFER TO ACCENTS, ETC.
01300 (P7)NUM OF TAILS(1=8TH,4=64TH, ETC.)
01400 (IF 2 DIGITS, LFT IS NUM OF DOTS.)
01500 (P8)STEM EXT. BY NT NUM. (999 IS SAME AS 0 HERE.)
01600 (P9)=-1 TO SUPPRESS LEDGER LINES.
01700 (P9 ALSO STORES RHYTHMIC VALUE FOR SPACING.)
01800 (P10)=1 PUTS SLASH ON GRACE-NOTE TAIL (1000 IN P8=SAME)
01900 (P11)=CHANGE SOURCE POS. OF STEM. (USE WITH P4=400+)
02000
02100 P4 100S GIVE MINIS, 200S GIVE DIAMOND SHAPE (HARMONICS)
02200 300S GIVE 'X' NOTES (FOR PERCUSSION, ETC.), 400S=NO NOTE HEAD.
02300 500S GET EARLY MUSIC PACKAGE (SEE EARLY.F4 FOR INFO).
02400 +1000 PUTS NOTE ON STAFF ABOVE CURRENT ONE, +2000 ON STF BELOW.
02500
02600 FOR P5: <10= NO STEM, 10-15=STEM UP, 20-25= STEM DOWN
02700 1,11 OR 21=FLAT; 2,12,22=#; 3,13,23=NATURAL; 4=DBL b; 5=DBL #
02800
02900 FOR P6: POS NUM OR 0 = BLACK NOTE, ANY NEG NUM = WHITE NOTE.
03000 FOR P6: 10,-10 'HOMES' TO RIGHT OF UPWARD STEM.
03100 20,-20 'HOMES' TO LEFT OF DOWNWARD STEM.
03200 30,-30(FOR 0,-1) PUTS DOTS IN PROPER PLACE IN COMPLEX CHORDS.
03300
03400 IF P7 HAS 2 DIGITS THE NOTE IS DOTTED; 2ND DIG. IS NUM OF TAILS.
03500 IF 2ND DIGIT IS 1 AND P6 IS NEG. A WHOLE NOTE PRINTS.
03600 IF 2ND DIGIT IS 2 A DOUBLE WHOLE NOTE PRINTS.
03700 DECIMALS AFTER P5 OR P7 SPACE OUT ACCIDENTAL OR DOT.
03800 DECIMALS AFTER P6 ARE ACCENT NUMS (.4-.7,.9 ETC. SEE CODE #9)
03900 UP TO 2 ACCENTS CAN BE PUT IN THIS WAY.
04000
04100
04200
04300 2 RESTS: 2,STF,POS,HGT,REST(-2=WHOLE, -3=DOUBLE WHOLE, 0=1/4, 1=1/8,ETC),
04400
04500 P6) 1=DOTTED, P7) HOLDS RHYTHMIC VALUE. (1=QTR, .5=EIGHTH, ETC.)
04600 P8=NUMBER OF MEASURES REST(TO 999). THE REST WILL ALWAYS
04700 TURN INTO A WHOLE REST. A HORIZANTAL LINE WILL DISPLAY
04800 BELOW THE REST TO FACILITATE CENTERING BETWEEN 2 BAR
04900 LINES. TO CHANGE THE WIDTH OF THIS CENTERING LINE
05000 ALTER P6.
05100 (IF P6=0 THE LINE WILL EXTEND ABOUT 10 UNITS IN EACH
05200 DIRECTION. A NON-ZERO ENTRY WILL CHANGE THIS.)
05300 P8=-1 GIVES WHOLE REST WITHOUT NUMBER ABOVE.
05400
05500 P8=-2 WILL CENTER WHOLE REST BETWEEN 2 BAR LINES IF
05600 THEY ARE IN THE EXACT ORDER BAR-REST-BAR. IF THIS IS
05700 NOT THE CASE THE REST MUST BE CENTERED VISUALLY. USE P6.
05800
05900
06000
06100
06200
06300
06400
06500 3 CLEFS, DYNAMICS AND OTHER THINGS:
06600 3, STAFF, POS, P4=HGT CHANGE(TO MAKE SOP. ETC.),P5=CLEF NUM
06700 P6-P9 (SAME AS IN CODE 9)
06800
06900 (CLEF NUMS ARE: TREB=0, BASS=1, ALTO=2, TENOR=3,
07000 4=PF.STF BRKT.(SEE CODE 4 ALSO.) 5=ARROW
07100 10=b, 11=#, 12=NAT., 13=bb, 14=x,15=half note,16=whole note.
07200 ADD 100 TO P5 FOR MINICLEFS.) (P6-P9 AS IN CODE 11.)
07300
07400 OTHER THINGS: P5=40 = PPP 41 = PP 42 = P 43 = MP
07500 50 = MF 51 = F 52 = FF 53 = FFF
07600 70 = CRESC. 71 = SUBITO 72 = POCO
07700 80 = ACCEL. 81 = MENO 82 = DIM.
07800 30 = ED 31=MORDANT 37=RIT.
07900 33 = CURVY BRACKET 44 = HEAVY WEDGE
08000 61 = SEGNO 62 = TURN
08100 ---- MORE WILL BE ADDED! ---(FILES CLEF0,1,2,4,5,7,8 ARE FULL)
08200
08300
08400 ***** EARLY MUSIC ITEMS (SEE APPENDIX RE. 'EXTRA')******
08500
08600 C CLEF=26, F CLEF=27, END-OF-LINE WIGGLE=28
08700
08800 20-25, 29 = EARLY MUSIC NOTATION (USE THESE IN P6 OF 'NOTES')
08900 20=MAXIMA, 21=LONGA, 22=BREVIS 23=SEMIBREVIS
09000 24=MINIM, 25=SEMIMINIM, 29=INVERTED LONGA (FOR LIGATURES)
00100
00200
00300
00400
00500
00600
00700
00800 **** SEE TABLE ON NEXT PAGE FOR VARIOUS USES OF CODE #4. ****
00900
01000
01100 4 LINES: 4, STF, POS, P4, P5, P6, P7, P8, P9, P10
01200 (P4) NUM OF STAVES UP FOR BAR LINE - IF ALL HIGHER
01300 PARAMETERS = 0, OR HGT1 (i.e.VERT. POS1 IF LINE).
01400 FOR HEAVY BAR LINES ADD 100*THICKNESS TO NUMBER IN P4
01500 ADD 1000 MORE FOR THIN DOUBLE BAR.
01600 2ND DIGIT FROM LEFT WILL MAKE RIGHT HAND BAR THICKER.
01700 E.G. 1502 MAKES A DOUBLE BAR, UP 2 STAVES, WITH THE RIGHT
01800 ONE 5 LINES THICK. 2502 DOES THE SAME EXCEPT THAT THE
01900 LEFT HAND BAR WILL BE THE THICK ONE.
02000
02100 TO MAKE REPEAT BARS (WITH DOTS), SET NUMBER OF STAVES TO BE
02200 COVERED IN P4. THEN P5=1 WILL PUT DOTS TO RIGHT; P5=2 PUTS
02300 DOTS TO LEFT; P5=3 PUTS DOTS ON BOTH SIDES AND ADDS THIN BAR.
02400
02500 (BAR LINES DON'T AFFECT TOP AND BOT. MAXI'S.-FOR AUTO. SPACE)
02600
02700 (P5) HGT2, IF P5=50, A +N IN P7=CRESC., -=DECRESC., ETC.
02800 (P6) POS2, (IGNORED IF BOX IS PRINTED.)
02900 (P7) 1=VERT. DASHES. IF P5=50 +N IN P7=CRESC., -=DECRESC.
03000 2=HORIZ. DASHES. -1 GIVES VERTICAL WAVEY LINE.
03100 3 OR 4=LGE. BRKT. (SEE DIAGRAM FOLLOWING)
03200 5 MAKES CURVEY BRACKET (AS USED FOR PIANO MUSIC, ETC.)
03300
03400 P9=WIG.UNIT HGT., P8 CHANGES WIGGLE WIDTH, THIS AND NEXT
03500 -2 GIVES HORIZ.WAVEY LINE(P5 GIVES HGT OF WAVE BY NT NUM)
03600 ....P6=RIGHT END POINT OF WIGGLE.
03700 P10=ADDED WIDTH FOR WIGGLES AND DASHES.(1=1 MORE, ETC.)
03800
03900 (P8) NON-ZERO GIVES HORIZ. BOX SIZE(BY NT NUMS) IF P5=50
04000 IF VERT. DASHES, P8 SETS SIZE.(ALSO AFFECTS WIGGLES.)
04100 P8 ALSO CAN AFFECT HEAVY BRACKET. SEE DIAGRAM FOLLOWING.
04200
04300 (P9) GIVES VERT. BOX SIZE, IF P5=50.(AFFECTS VERT. WIGGLES ALSO.)
04400 (P10)=THICKNESS IF STRAIGHT VERTICAL LINE OR BOX(NOT BAR LINE.)
04500 (P11)=DISPLACEMENT FOR RIGHT SIDE OF BOX (PARALLELAGRAM).
00100 RESUME OF CODE 4 PARAMETERS
00200
00300 ----------------------|-------|-------|-------|-------|-------|-------
00400 P4 | P5 | P6 | P7 | P8 | P9 | P10
00500 ----------------------|-------|-------|-------|-------|-------|-------
00600 LINES HGT.1 | HGT.2 | POS.2 | 0 | 0 | 0 |
00700 ----------------------|-------|-------|-------|-------|-------|-------
00800 HEAVY VERT.LINE BOT. | TOP | =P3 | 0 | 0 | 0 | THICKN.
00900 ----------------------|-------|-------|-------|-------|-------|-------
01000 BAR LINE N=NUM. OF | 0 | 0 | | | |
01100 STAVES UP | | | | | |
01200 (+1000 FOR DBL BAR)| | | | | |
01300 ----------------------|-------|-------|-------|-------|-------|-------
01400 HEAVY BAR N+100* | 0 | 0 | | | |
01500 THICKNESS | | | | | |
01600 (+1000 FOR DBL BAR)| | | | | |
01700 | | | | | |
01800 REPT. BARS NUM OF | 1 | 0 | | | |
01900 STAVES UP | | | | | |
02000 +1000=DOTS TO LEFT | | | | | |
02100 +2000=DOTS TO RIGHT | | | | | |
02200 +3000=DOTS RT & LFT | | | | | |
02300 ----------------------|-------|-------|-------|-------|-------|-------
02400 HEAVY BRACKET BOT. | TOP | 0 | 3 | 0 | 0 | THICKN.
02500 HGT. | HGT. | | | | |
02600 --OR-- | | | | | |
02700 N=NUM. OF | 0 | 0 | 4 | 0 | | THICKN.
02800 STAVES UP | | | | 1=BOT | | (0=4)
02900 | | | | 2=TOP | |
03000 CURVY BRACKET N | 0 | WIDTH | 5 | | |
03100 ----------------------|-------|-------|-------|-------|-------|-------
03200 CRESC. HGT. | 50 | POS.2 | 0 OR | 0 | |
03300 | | |SPREAD | | |
03400 | | | =N | | |
03500 ----------------------|-------|-------|-------|-------|-------|-------
03600 DECRESC. HGT. | 50 | POS.2 | -1 OR | 0 | |
03700 | | |SPREAD | | |
03800 | | | =-N | | |
03900 ----------------------|-------|-------|-------|-------|-------|-------
04000 DASHES - HORIZ. HGT1.| HGT2. | POS.2 | 1 | DASH | SPC SZ| THICKN.
04100 (P11=1 FOR BRKT END) | | | | SIZE | (0=P8)|
04200 ----------------------|-------|-------|-------|-------|-------|-------
04300 DASHES - VERT. BOT. | TOP | 0 | 1 | DASH | | THICKN.
04400 (NO SLOPE) HGT. | HGT. | | | SIZE | |
04500 ----------------------|-------|-------|-------|-------|-------|-------
04600 WIGGLE - HORIZ. HGT. | | POS.2 | -2 | WIGL. | WIGL. | THICKN.
04700 (NO SLOPE) | | | | WIDTH | HGT. |
04800 ----------------------|-------|-------|-------|-------|-------|-------
04900 WIGGLE - VERT. BOT. | TOP | 0 | -1 | WIGL. | WIGL. | THICKN.
05000 (NO SLOPE) HGT. | HGT. | | | WIDTH | HGT. |
05100 ----------------------|-------|-------|-------|-------|-------|-------
05200 BOXES HGT. | 50 | 0 | 0 | WIDTH | HGT. | THICKN.
05300 (P11=CHNG OF RT. HGT.)| | | | |0=SQUAR|
05400 ----------------------|-------|-------|-------|-------|-------|-------
05500
05600
05700
05800
05900
06000
06100
06200
06300
06400
06500 5 SLURS: 5, STAFF, POS1, NT1, NT2, POS2, P7=DIP(NT UNITS + OR -), P8, P9
06600 FOR P8 0=SLUR, 1=BRACKET, 2=LFT 1/2 BRKT, 3=RT 1/2 BRKT,
06700
06800 FOR AUTOMATIC ALIGNMENT OF SLUR WITH NOTES, SET P13=1, THEN
06900 IF P8=-1, END POINTS WILL HOME TO NOTE CENTERS.
07000 IF P8=-2, END POINTS WILL HOME BETWEEN NOTES.
07100
07200 USE P8=-3 TO HOME BETWEEN NOTES WHERE 1ST IS DOTTED.
07300
07400 P9=CURVE FACTOR. DEFAULT VALUE (0)=3 GIVES SLIGHTLY "FLATTENED"
07500 SLURS. TO MAKE THEM MORE ROUND, DECREASE P9 TOWARD 2.
07600 TO RESTRICT THE CURVE TO THE END PORTIONS, INCREASE P9.
07700
07800 IF P8=1 AND P9 IS NOT 0, A BRACKET WITH A NUMBER(P9) WILL BE DRAWN.
07900
08000 HALF SLURS: ADD 100 TO P7 FOR HALF SLUR WITH THE CURVE ON THE RIGHT.
08100 ADD 200 TO P7 TO GET CURVE ON THE LEFT.
08200
08300 SLUR WITH CHANGE OF DIRECTION: ADD 300 TO P7 TO MAKE SLUR CHANGE
08400 DIRECTION. IF P7 IS POS. THEN 1ST 'DIP' IS POS.; IF P7 IS
08500 NEG. THEN 1ST 'DIP' IS NEG.
08600
08700 USE P10 TO SHIFT HIGH POINT OR 'CENTER' OF CURVE FROM MIDDLE.
08800 P10=0 IS THE SAME AS P10=.5. VALUES GREATER THAN .5 MOVE THE CENTER
08900 TO THE RIGHT, LESS THAN .5 MOVE IT TO THE LEFT.
09000 (VALUES GREATER THAN .75 OR LESS THAN .25 DO NOT MAKE GOOD CURVES
09100 AS YET.)
00100
00200
00300 6 BEAMS: 6, STF, POS1, NT1, NT2, POS2,
00400 FOR "MINI" BEAMS ADD 100 TO P4 (-100 FOR NEG. NUMS.)
00500
00600 (P7) STEM DIR(10=↑ 20=↓),
00700 -- 2ND DIG. IN P7=TOTAL NUM OF BEAMS.
00800 IF P7 IS NEGATIVE THEN TREMOLO SLASHES ARE MADE.
00900 IF TREMOLO, P8 SETS WIDTH. (0=2.2), P9=POS.
01000
01100 (P8) 10=LFT, 20=RT. (OR TREM. WIDTH)
01200 -10,-20=UNATTACHED PARTIAL BEAMS
01300 A 2ND DIGIT=DISPLACEMENT NUMBER.
01400 -- IF P10 HAS 30+, P8 WILL HAVE POS3 AND
01500 -- P9 WILL HAVE POS4.
01600
01700 (P9) POS3. (OR POS4 IF P10>30.)
01800 OR POSITION OF TREMOLO
01900 IF P8=0 AND P10=0 AND P9=N, N WILL BE A NUMBER OVER THE BEAM.
02000
02100 (P10) = NUM OF BEAMS DISPLACED (NO MORE THAN 9.)
02200 ADD 10 FOR INNER SHORT PARTIAL →
02300 ADD 20 FOR INNER SHORT PARTIAL ←
02400 ADD 30 FOR INNER PARTIAL BETWEEN TWO STEMS.
02500
02600 P11 CAN RESET HOMING RANGE (OR -1 = NONE.)
02700
02800 --------------------------------------------------------|-------|-------
02900 P8 | P9 | P10
03000 --------------------------------------------------------|-------|-------
03100 UNATTACHED PARTIAL BEAM POINTING → -10 | 0 | 0
03200 ← -20 | 0 | 0
03300 DISPLACEMENT IS IN 2ND DIGIT OF P8 | |
03400 --------------------------------------------------------|-------|-------
03500 ATTACHED PARTIAL BEAM POINTING → 10 | POS.3 | 0
03600 ← 20 | POS.3 | 0
03700 DISPLACEMENT IS IN 2ND DIGIT OF P8 | |
03800 --------------------------------------------------------|-------|-------
03900 INNER PARTIAL BEAM POINTING → 0 | POS.3 | 10
04000 ← 0 | POS.3 | 20
04100 DISPLACEMENT IS IN 2ND DIGIT OF P10 | |
04200 --------------------------------------------------------|-------|-------
04300 INNER BEAM POS.3 | POS.4 | 30
04400 DISPLACEMENT IS IN 2ND DIGIT OF P10 | |
04500 --------------------------------------------------------|-------|-------
04600 TREMOLO *****P7=-10 OR -20 WIDTH |TRM,POS| DISP.
04700 -PARALLEL TO OTHER BEAMS -TILT IN P3-6 | |
04800 NUMBER OF BEAMS IS SECOND DIGIT OF P7 | |
04900 | |
05000 *****P7=-10 OR -20 WIDTH | 0 | DISP.
05100 -WITHOUT OTHER BEAMS - STANDARD TILT | |
05200 NUMBER OF BEAMS IS SECOND DIGIT OF P7 | |
05300 --------------------------------------------------------|-------|-------
05400 NUMBER OVER OR UNDER BEAM 0 | NUM. | 0
05500 --------------------------------------------------------|-------|-------
05600
05700
05800
05900
06000
06100
06200
06300 7 TRILLS,PEDALS,OTTAVA: 7, STF, POS1, VERT.POS, P5=SZ(0=1), P6=POS2,
06400 P7 (1=NO WIGGLE) IF P7=1, NO WAVEY LINE APPEARS.
06500
06600 IF P7 IS GREATER THAN 1, PIANO PEDAL SYMBOLS WILL PRINT.
06700 THEN: P5=PEDALS DEPRESSED (USE 3 DIGITS)
06800 000=NONE 001=RIGHT PED. ONLY
06900 010=CENTER PED. ONLY 100=LEFT PED. ONLY
07000 101=OUTER PEDS. 011=CENTER AND LEFT
07100 110=RIGHT AND CENTER 111=ALL (NOT USUAL)
07200
07300 P7=2 PLAIN SYMBOL; =3 ADDS TOP BRACK. EXTENDED TO P6 (POS2).
07400 =4 ADD LINE TO TOP OF SYMBOL. EXTENDED TO P6 POS.
07500 P8 SETS SIZE OF LINE EXTENSION TO LEFT OF SYMBOL (P7=3 OR 4)
07600
07700
07800 **** OTTAVA ***** P7=8 FOR STANDARD OTTAVA, =-8 FOR OTTAVA BASSA,
07900 P7=15 FOR 15MA. SET P8≠0 TO SUPPRESS BRACKET
08000 ENDING OF DASHED LINE.
08100
08200
08300
08400 8 FOR STAFF LINES: 8, HGT(STAFF NUM. 3 TO -3), (P3)POS1,
08500 P4) VERT. SHIFT, 5) SIZE FACTOR (0=1), P6) POS2.(0=200)
08600 P7) IF SET TO NON-ZERO THE STAFF WILL BE INVISIBLE.
08700 (USE THIS AS A MEANS TO SET SIZE AND POSITION OF
08800 NOT APPEARING ON A STAFF.)
08900 P8) USED TO SET MOVE-UP DISTANCE(INCHES) TO NEXT FILE'S
09000 STAFF 0. (USE P8 ONLY! WITH STAFF 0.)
09100 HORIZANTAL LINE WILL DISPLAY AT POSITION OF NEXT STAFF 0.
09200 P9=1 WILL ASK FOR ID NAME FOR THIS STAFF(TO BE USED IN 'PARTS')
09300
09400
09500 9 ACCIDS, ACCENTS, ETC.: 9, STF, POS, NOTE NUM, P5, P6=SIZE (0=1)
09600 FOR P5: b=1, #=2, NAT=3, WEDGE ACCENT ∧=4(-4=INV), ACCENT >=5,
09700 FERMATA=6 or 26(-6=INV), STAC. OR DOT=7, REPEAT BAR SIGN=8,
09800 TENUTO OR DASH=9, DNBOW=11, UPBOW=12, HARM,=13, +=14,
09900 THESIS=15, ARSIS=16, MORDANT=17, INV.MORD.=18, TRILL=20
10000 HEAVY WEDGE=21
10100
10200 ***** 2 ITEMS MAY BE ENTERED AT ONCE WITH P5. e.g. 47 WILL CREATE
10300 A WEDGE(4) WITH A DOT(7) BELOW IT; 79 MAKES A DOT(7) WITH A
10400 DASH(9) BELOW IT. IF ANY OF THE 2-DIGIT CODES ARE USED, THEY
10500 MUST! COME FIRST. e.g. 135 MAKES A HARMONIC(13) WITH AN
10600 ACCENT(5) BELOW. ETC. (513 WILL NOT WORK!)
10700
10800
10900 10 NUMBERS: 10, STF, POS, NT NUM, NUM(TO 3 DIGITS ONLY), SIZE FACT., P7
11000 P7=2 GIVES THIN LINE NUMS., =0 = BDR40 TYPE FONT WHEN IT PLOTS.
11100 =1 = BDI40 (ITALICS)
11200 P8=1 CIRCLES NUMBER, =2 BOXES NUMBER. P10>1 THICKENS BOX ETC.
11300
11400 SET P13 TO 1 FOR AUTOMATIC HOMING.
11500 (SEE HOMING INFO IN EDIT SECTION.)
11600
11700
11800 11 LIBRARY ITEMS: 11, STAFF, POS, VERT. NOTE NUM, P5)ITEM NUM,
11900 P6)HORZ. SZ., P7)VERT. SZ., P8, P9, P10
12000 P8=-1 FOR FILL ON CRT, =-2 FOR NO FILL ANYWHERE.
12100
12200 P5 MAY HAVE NUMBERS 0 THROUGH 99. NUMBERS 0-9 REFER TO
12300 THE "BASIC" DRAW FILE. (SEE 'DRAW.MAN' FOR PREPERATION
12400 OF 'DRAW' FILES.) THE "BASIC" FILE SHOULD HAVE A NAME
12500 WITH 4 LETTERS AND THE NUMBER 0 ON THE END. IF THE "BASIC"
12600 NAME IS 'CHAR0' THEN NUMBERS 10 THROUGH 19 WOULD REFER
12700 TO 'CHAR1'; 20-29 TO 'CHAR2', 30-39 TO 'CHAR3', ETC.
12800
12900 P9 = CLOCKWISE ROTATION BY DEGREES.
13000
13100 IF P10 IS SET TO 1 A "BASIC" FILE NAME WILL BE REQUESTED.
13200 THE NAME WILL BE STORED IN P10. ANY TIME P10 IS SET TO 1
13300 THE NAME WILL BE RE-REQUESTED. ANY TIME P10 IS IGNORED THE
13400 LAST NAME GIVEN WILL BE PUT INTO P10.
13500 THUS SEVERAL ITEMS CAN USE DIFFERENT "BASIC" NAMES.
13600
13700
13800 12 CIRCLES AND ARCS: 12, STF, POS, VERT. NT NUM,
13900 P5=RADIUS(BY HORIZ. SCALE NUMS)
14000 P6=DEGR.1, P7=DEGR.2; ZEROS GIVE COMPLETE CIRCLE.
14100 P8=THICKNESS(0=1 LINE, 1=2 LINES, ETC.)
14200
14300
14400 16 LETTERS, WORDS, ETC.:
14500 16, STAFF, POS, VERT. NOTE NUM, P5)=SIZE FACTOR, P6
14600 ----- THEN TYPE TEXT -----
14700 ---- SEE SECTION II FOR DETAILS -----
14800
14900
15000 17 KEY SIG.: 17,STF,POS,VERT, P5)NUM OF #S OR FLATS(+=#, -=b)
15100 P6=CLEF NUM (0=TREB, =1=BASS, =2=ALTO, =3=TENOR)
15200 FOR MINI CLEFS ADD 100 TO P6.
15300
15400
15500 18 METER: 18, STF, POS, VERT, P5)TOP NUM, P6)BOTT NUM, P7)SIZE FACTOR
15600 IF P5=99 THE LETTER C WILL PRINT
15700
15800
15900
16000
00100 --------- SECTION II --------------
00200
00300 TYPE 'T' n, n ..... TO ENTER LETTERS, WORDS, ETC.
00400 T, STAFF, POS, P4=VERT. NOTE NUM, P5=SIZE FACTOR, P6
00500 ----- THEN TYPE TEXT -----
00600
00700 0-9, A-Z, a-z, and = . - , * ( ) " ; : + ? ! QTR NT HLF NT CAN BE USED.
00800
00900 UP TO 12 CHARACTERS WILL BE PACKED IN AN ITEM.
01000 STRINGS OF MORE THAN 12 CHARACTERS WILL BECOME SEVERAL ITEMS FOR
01100 EDITING PURPOSES.
01200 TO PLACE ITEMS IN RELATION TO ALREADY PRESENT NOTES, SET P6≠0.
01300 SEPARATE EACH ITEM BY SLASHES.
01400 THE SLASHES WILL NOT BE DRAWN.(BUT A LINE ENDED WITH ; WILL PRINT ;.)
01500
01600 WHEN P6≠0, NUMBERS WILL APPEAR OVER THE NOTES OF THAT STAFF AND YOU
01700 WILL BE ASKED TO TYPE POSITION NUMBERS FOR EACH ITEM. IF P4 (THE
01800 VERTICAL POSITION) IS SET TO 0 YOU SHOULD TYPE 2 NUMBERS FOR EACH
01900 ITEM. SEPARATE THE PAIRS OF NUMBERS BY SLASHES. THE FIRST NUMBER OF
02000 A PAIR WILL BE HORIZANTAL POS., THE SECOND WILL BE VERT. POS. THE
02100 HORIZANTAL NUMBERS WILL BE IN TERMS OF THE NUMBERS OVER THE NOTES.
02200 THUS 1.5,-3/ WOULD PUT ITEM 1 EXACTLY HALF WAY BETWEEN NOTE 1 AND
02300 NOTE 2 AND AT THE VERTICAL POSITION OF NOTE LEVEL -3. WITH
02400 1.5,-3/.7,13/ THE FIRST ITEM WOULD BE AS BEFORE AND THE SECOND WOULD
02500 BE AT .7 OF THE DISTANCE FROM THE BEGINNING OF THE LINE AND THE FIRST
02600 NOTE AND AT THE VERTICAL POSITION 13.
02700
02800 ------ IF P3=999, THE TEXT MAY BE ENTERED FROM AN 'SOS' FILE. ------
02900
03000 IF P4 IS ANY NON-ZERO NUMBER (AND P6≠0) ALL ITEMS WILL BE PUT AT THE
03100 LEVEL INDICATED IN P4. IN THIS CASE TYPE ONLY ONE NUMBER (FOR
03200 HORIZANTAL POSITION) PER ITEM. THIS IS PROBABLY THE BEST WAY TO PUT
03300 IN THE TEXT OF VOCAL LINES.
03400
03500 CURRENTLY (5/74) THREE TYPE FONTS ARE AVAILABLE. THE DEFAULT FONT IS
03600 CALLED 'PRIMITIVE'. ALSO THERE IS 'BDR40' AND 'BDI40'(ITALICS).
03700 ALL THESE INCLUDE UPPER AND LOWER CASE. ****** NOTE THAT IF THE TYPE
03800 FONTS ARE TO BE MIXED THE FIRST ENTRY MUST INCLUDE A FONT CONTROL
03900 CHARACTER EVEN IF IT IS THE DEFAULT FONT.
04000
04100 FONT CONTROL CHARACTERS:
04200 # = PRIMITIVE (52)
04300 & = BDR40 (NON-ITALICS) (50)
04400 @ = BDI40 (ITALICS) (51)
04500 < = OUTLINE ONLY (53)
04600 > = FILLED (54) (WILL NEVER FILL ON CRT HOWEVER.)
04700 $ = UPPER CASE (48)
04800 (use these last 2 controls only when not working with display.)
04900 % = LOWER CASE (49)
05000
05100 WHEN INITIALLY USING THE FONTS THE UPPER-LOWER
05200 CASE CHARACTER MUST APPEAR AS WELL AS THE FONT CHARACTER.
05300 LATER FONT OR CASE CHANGES MAY APPEAR SINGLY.
05400
05500 EXAMPLES: TO GET THE FOLLOWING IN NON-ITALICS -
05600
05700 Clarinet
05800
05900 TYPE - &Clarinet/ (OR: $&C%LARINET/ WHEN USING ORDINARY TTY.)
06000
06100 FOR THE NEXT WITH THE 2ND WORD ITALICS, THE 3RD PRIMITIVE-
06200
06300 TYPE - &Oboe/@cresc./#v.s./
06400
06500 &<Oboe/ WOULD PRINT "Oboe" in non-filled letters.
06600
06700 MOST OF THESE COMMANDS ARE SEMI-STICKY. TO BE SAFE THEY SHOULD BE
06800 RESET EACH TIME USED.
06900
07000 WHEN LETTERS ARE EDITED THEY APPEAR UNDER CODE #16.
07100 AT EDIT TIME P13=1 WILL CAUSE HOMING TO A NEARBY NOTE. NOW A
07200 NEGATIVE SIZE FACTOR (IN P5) WILL INVERT THE TEXT. IF THE STAFF SIZE
07300 IS LATER CHANGED THE SPACING CONTINUITY OF STRINGS LONGER THAN 12
07400 LETTERS WILL BE DISTURBED. TO CORRECT THIS SET P10=1 FOR THE
07500 MISPLACED UNIT OF TEXT. IT WILL THEN AUTOMATICALLY RESUME THE
07600 CORRECT POSITION AND RESET P10 TO 0.
07700
07800 IN GENERAL, P6-P8 SHOULD NOT BE EDITED. EACH OF THE
07900 PARAMETERS CONTAINS THE NUMBERS FOR 4 CHARACTERS. A TOTAL OF 8
08000 DIGITS IS USED IN EACH PARAMETER; 2 DIGITS PER CHARACTER.
08100
08200 THE STRING 'ABCDEFGHIJKLM' WOULD BECOME:
08300
08400 P6 -- 10111213
08500 P7 -- 14151617
08600 P8 -- 18192021
08700
08800 TO SEE THE CONTENTS OF ONE OF THESE PARAMETERS, 6, FOR EXAMPLE,
08900 TYPE '33 6'. IF YOU THEN TYPED '6 13111213' THE STRING WOULD CHANGE TO
09000 'DBCDEFGHIJKLM'. THIS METHOD OF EDITING IS NOT RECOMMENDED.
09100
09200 NUMBERS ARE 0-1, UPPER CASE LETTERS 10-35, LOWER CASE BEGIN
09300 AT 70. SPACE=47, NO MORE CHARS=99, QTR NOTE=58, HLF NOTE=59.
09400
09500 (A NEW FORMAT FOR P6-8 WAS ACTIVATED 11/75. TYPE 10,99<CR> WHILE
09600 EDITING TEXT TO AUTOMATICALLY CHANGE THE FORMAT.)
09700
09800 ******** TO CENTER TEXT AT ANY POINT ********
09900
10000 A SINGLE INPUT STRING OF TEXT MAY BE CENTERED AT ANY HORIZANTAL POINT
10100 BY SETTING P10 TO THE CENTER POINT DESIRED. WHEN THIS IS DONE THE
10200 TEXT WILL EXTEND AN EQUAL DISTANCE TO THE LEFT AND RIGHT OF THE POINT
10300 GIVEN IN P10.
10400
10500
10600 ** ROTATION OF INDIVIDUAL LETTERS --- SET P11 TO DEGREES (CLOCKWISE).**
10700
10800
10900
11000 ααααααααα SPECIAL INFO RE. TEXT AND THE 'PARTS' PROGRAM αααααααααα
11100
11200 WHEN USING THE 'PARTS' PROGRAM TEXT WHICH IS NOT PART OF THE
11300 PARTICULAR LINE OF MUSIC BEING EXTRACTED IS USUALLY IGNORED. TO MAKE
11400 ANY TEXT ITEMS APPEAR IN ALL PARTS EXTRACTED, ADD 100 TO THE SIZE
11500 FACTOR FOUND IN P5. (SEE SECTION ON 'PARTS' PROGRAM.)
00100 -------- SECTION III -----------
00200
00300 *********** LETTER COMMANDS ***************
00400
00500 'G name' = GET OLD DATA TO WORK ON.
00600
00700 IF YOU GET THE MESSAGE "UNPACK IT" USE THE MSSAUX PROGRAM.
00800
00900 'GM name' = GET MORE (ANOTHER FILE) TO ADD TO CURRENT DISPLAY
01000
01100 'RS' = RESTART. CLEARS BUFFERS AND SCREEN - NO RECOVERY POSSIBLE!
01200 'RS name' RESTARTS AND 'GETS' FILE 'name'.
01300
01400 'SA name' - TYPE 'SAVE' OR 'SA' ('SD' SAVES DISPLAY ONLY FOR DPY.F4)
01500
01600 IF 'SAME' IS GIVEN AS A FILE NAME THE NAME WILL BE
01700 SAME AS PREVIOUSLY.
01800
01900 'SB name' = SAVE BIG. SAVES ALL IMPORTANT BUFFERS. FOR QUICKER READIN.
02000 'SM' = 'SB' WITH THE SAME NAME AS PREVIOUSLY.
02100
02200 TYPE '99' TO BACK UP FROM FILE NAME REQUEST.
02300
02400 'SC' = SPACING SCALE: SC, STAFF NUM (101,99 ERASES IT)
02500 (THE SCALE NEED NOT BE ERASED BEFORE SHIFTING IT.)
02600 TO A NEW STAFF.)
02700
02800
02900 'SH' ="SHOW" - WHEN THIS IS TYPED, FROM THIS POINT ON ALL NUMBERS AND
03000 LETTERS USING THE TYPE FONTS BDR AND BDI WILL APPEAR WITH THEIR
03100 REAL OUTLINES.
03200 THIS SHOULD BE USED ONLY FOR CHECKING ON CLOSE SPACING AS
03300 THE PROGRAM IS SLOWED CONSIDERABLY DUE TO THE GREAT NUMBER
03400 OF VECTORS TO BE DRAWN.
03500 'SHP' ="SHOW PRIM" - WILL CAUSE ALL LETTERS TO BE IN 'PRIM' FONT (UPPER
03600 AND LOWER CASE) ON CRT.
03700 'SHX' ='EXIT FROM SHOW" - WILL RETURN TO THE ORIGINAL DISPLAY MODE.
03800 SEE 7 AND 16 IN REGARD TO FONTS.
03900
04000
04100 'SP n' ="SPACING STAFF=n" ESTABLISHES STAFF n AS THE BASIS FOR AUTOMATIC
04200 SPACING OF ITEMS ENTERED BY MEANS OF CODES 14 OR 144.
04300 SEE PG.10.
04400 'IN n,n,n,n.... "SCORE" INPUT: -- SEE page 9.
04500
04600
04700 'READ name stf#' "SCORE INPUT FROM 'SOS' FILE -- SEE page 9.
04800
04900 'P n' = SEE EXACT CURRENT CONTENTS OF PARAMETER n WHILE IN EDIT MODE.
05000
05100 **** when NOT in edit mode ****
05200 'P n1,n2,n3 PRINTS RN ARRAY FROM ITEM n1 TO ITEM n2. n3=1 FOR LPT.
05300 (USING LPT IS FATAL! FOR CURRENT DPY AND MUST BE FOLLOWED BY
05400 <CALL>, F<CR> IN ORDER TO RELEASE THE LPT.)
05500 'P' <CR> WILL TYPE DATA FOR ALL ITEMS.
05600
05700 'Z f x y' 'Z' = ZOOM LENS. f=SIZE FACTOR, NEW CENTER IS x,y
05800 (USE -512 TO 512 RANGE)
05900
06000 IF THE STAVES -1 THOUGH 2 ARE USED ONLY 2 NUMBERS NEED BE TYPED. Z n
06100 WHERE n IS A NUMBER OF THE FOLLOWING FORM WILL INCREASE THE SIZE BY
06200 THE LEFT DIGIT OF n. Z 200 WILL MAGNIFY BY 2 AND PUT THE FAR LEFT
06300 SIDE TO THE CENTER OF THE SCREEN. 200.5 WILL KEEP THE CENTER AS IS.
06400 201 WILL PUT THE FAR RIGHT SIDE TO THE CENTER. 300 WILL MAGNIFY BY 3,
06500 ETC.
06600
06700 'AD' =ADJUST STEMS TO MEET BEAMS: "AD" STAFF NUM (99=ALL STAVES)
06800 (ALSO REMOVES TAILS WHERE NEEDED)
06900
07000 ------ HOMING A BEAM FROM ONE STAFF TO ANOTHER -----
07100 'AD' n1 n2 ------ IF 2 NUMBERS FOLLOW AD THE 1ST SHOULD BE THE ITEM
07200 NUMBER OF A BEAM AND THE 2ND THE STAFF NUMBER OF A NOTE WHICH THE
07300 BEAM IS TO HIT. THIS ALLOWS THE BEAM TO HOME TO ANY NOTE ON A
07400 DIFFERENT STAFF.
07500
07600 BEFORE USING THIS, CERTAIN REQUIREMENTS MUST BE MET. P6 OF
07700 THE BEAM SHOULD BE SET TO THE APPROXIMATE HORIZANTAL POSITION OF THE
07800 NOTE TO BE HIT. P4 AND P5 OF THE BEAM SHOULD BE SET TO THE DESIRED
07900 POSITION. P7 SHOULD INDICATE THE STEM DIRECTION FOR THE BEAM. IF THE
08000 BEAM IS COMPOSITE, THIS PROCEDURE MUST BE FOLLOWED FOR EACH BEAM ITEM
08100 INVOLVED.
08200 THE NOTE ON THE OTHER STAFF MAY HAVE A STEM OF ANY LENGTH AND
08300 IT MAY BE IN FRONT OF OR BEHIND THE ORIGIN POINT OF THE BEAM. IT IS
08400 PROBABLY BEST TO USE THIS FEATURE ONLY AFTER! THE OTHER '19' FEATURE
08500 HAS BEEN USED. CHECK STEM LENGTHS AND MEETING POINTS CAREFULLY AFTER
08600 USE.
08700
08800
08900 <<<<<<<<<< HOW TO RUN A PROOF ON THE 'XGP' >>>>>>>>>>>>>>>>
09000 THE PROGRAM 'MP' WILL CREATE A FILE FOR THE XGP PROGRAM 'XM'
09100 OR FOR THE CALCOMP. GENERALLY USE SIZE FACTOR = 1 FOR XGP PRINTING.
09200
09300 THE FIRST PROMPT IN MP IS 'RESET BOTTOM?' THE ANSWER SHOULD USUALLY
09400 BE <CR> WHEN MP'S OUTPUT IS TO GO TO XM. 'P' WILL CAUSE ALL LETTERS
09500 NUMBERS TO PRINT WITH THE 'PRIMITIVE' FONT. 'A' WILL RESET TO THE
09600 ORDINARY MODE IF A 'P' HAD BEEN GIVEN EARLIER.
09700
09800 IF THE AUTOMATIC 'MOVE-UP' FEATURE INVOLVING P8 OF THE
09900 PARAMETERS FOR STAFF 0 IS USED (SEE PG.5) AND MORE THAN ONE SEPARATE
10000 FILE IS TO BE CREATED FOR PRINTING ON THE CALCOMP, THE ANSWER TO THE
10100 FIRST PROMPT SHOULD BE 'N' FOR ALL RUNS AFTER THE LOWEST PORTION OF
10200 THE PAGE IS DONE.
10300
10400 IF THE PAGE IS IN MORE THAN ONE SECTION ALWAYS START WITH THE
10500 BOTTOM SECTION FIRST. YOU WILL BE ASKED FOR FILE NAMES. WHEN THERE
10600 ARE NO MORE TO BE GIVEN TYPE <CR>. THE QUESTION, "MOVE UP AT END?"
10700 SHOULD BE ANSWERED BY Y, N OR WITH A NUMBER. A NUMBER WILL INDICATE
10800 THE NUMBER OF INCHES TO MOVE FROM THE LEVEL OF STAFF 0 AT POSITION 0
10900 TO STAFF 0, POSITION 0 IN THE SUCCEEDING FILE. 'Y' WILL PLACE THE
11000 SUCCEEDING FILE'S LOWEST POINT ABOUT 1/2" ABOVE THE HIGHEST POINT OF
11100 THE FIRST FILE. 'N' IS USED TO WRITE FILES EXACTLY ON TOP OF ONE
11200 ANOTHER.
11300
11400 IF THE FILE NAMES FORM A SERIES OF 5 LETTER NAMES ENDING WITH
11500 CONSECUTIVE LETTERS OF THE ALPHABET, YOU MAY TYPE THE LAST NAME
11600 FOLLOWED BY THE TOTAL NUMBER OF FILES THAT ARE TO BE PRINTED ON THAT
11700 SINGLE PAGE. THE FILES WILL BE FOUND IN THE PROPER SEQUENCE. FOR
11800 EXAMPLE, 'TRC4D 4' WILL PRINT FILES TRC4D THROUGH TRC4A.
11900
12000 (AN ALTERNATIVE METHOD IS TO START WITH THE NAME ENDING WITH
12100 THE LOWEST LETTER OF THE ALPHABET AND FOLLOW IT WITH THE NUMBER 99.
12200 USING THE ABOVE EXAMPLE, ONE WOULD TYPE 'TRC4A 99'. THE PROGRAM
12300 WOULD THEN LOOK FOR THE 'TRC4' FILE ENDING WITH HIGHEST LETTER OF THE
12400 ALPHABET - I.E. 'TRC4D' - AND BEGIN BY PROCESSING THAT FILE,
12500 CONTINUING BACKWARDS THROUGH THE ALPHABET.)
12600
12700 IF A SECOND NUMBER IS TYPED, THE FILES WILL BE EVENLY SPACED
12800 BY THAT NUMBER OF INCHES BETWEEN THE BOTTOM OF EACH STAFF 0 -- AS
12900 DESCRIBED ABOVE.
13000
13100 A SIZE FACTOR OF 1 CREATES THE CORRECT WIDTH FOR 8 1/2" PAPER. TYPE
13200 A SECOND NUMBER(1) AFTER 'SIZE FACTOR' TO HEAVIER STAFF LINES AND
13300 LEDGER LINES. (SOMETIMES NECESSARY WITH XGP.)
13400
13500 WHEN THE PROGRAM HAS EXITED A FILE CALLED PLT.DMD HAS BEEN WRITTEN ON
13600 THE DSK. THE DATA MAY NOW BE PRODUCED ON THE PLOTTER (BY USING THE
13700 PLOT PROGRAM, P.DMP[MSS,LCS]) OR ON THE XGP (BY USING THE XGP
13800 PROGRAM, XM.) (PLOT HAS NO PROMPTS AND XGP IS SELF-EXPLANATORY.)
13900
14000
14100 ---- FOLLOWING ARE OLD PLOT COMMANDS ----
14200 'P' N1, N2, N3, N4, N5, N6 = PLOT DISPLAY
14300 N1=WIDTH FAC.,
14400 N2=HEIGHT FAC.
14500 N3=1, PLOTS ONLY THIN LINES. N3=2, PLOTS ALL BUT THIN LINES.
14600 N4=1 NO MOVE AT START
14700 N5=1 NO MOVE AT END.
14800 N6= MOVE UP 'N' STAVES AT END.
00100 -------- SECTION IV -----------
00200
00300 ****** VARIOUS WAYS TO GET INTO EDIT MODE ********
00400
00500
00600 TO MOVE LAST ITEM ENTERED LFT-RT OR UP-DOWN:
00700 'L', 'R', 'U' OR 'D' + NUM OF STEPS TO LFT-RT
00800 (NOTHING ELSE REQUIRED)
00900 THIS WORKS ONLY IMMEDIATELY AFTER THE ITEM HAS BEEN ENTERED.
01000
01100 ONCE IN EDIT MODE, THE SETTING OF P13 TO 1 WILL USUALLY CAUSE THE
01200 CURRENT ITEM TO CENTER ON A NEARBY NOTE'S HORIZANTAL POSITION.
01300
01400
01500 'ED(IT)', POS, STAFF, (CODE NUM) ----- TO USE LIGHT PEN: TYPE 'ED' <CR>
01600
01700 A VERTICAL LINE WILL APPEAR AT THE POSITION GIVEN AND ALL ITEMS
01800 WITHIN 5 SPACES OF THE LINE ON THAT STAFF WILL COME UP FOR EDITING.
01900 TO PASS OVER AN ITEM TYPE <CR>. SEE BELOW FOR METHOD OF CHANGING THE
02000 VARIOUS PARAMETERS.
02100
02200 IF THE STAFF NUMBER IS GREATER THAN 4, ITEMS ON ALL STAVES MAY BE
02300 EDITED.
02400
02500 IF A CODE NUMBER IS GIVEN, THE ITEM NEAREST THE LINE WITH THAT NUMBER
02600 WILL COME UP. FOLLOWING, ALL OTHER ITEMS OF THAT NUMBER ON THAT LINE
02700 WILL COME UP.
02800
02900 WITH THE LIGHT PEN, MOVE CURSOR TO THE ITEM TO BE
03000 EDITED. TYPE <CR> AND ITEMS ON ALL STAVES NEAR THAT POINT
03100 WILL COME UP FOR EDITING IN ORDER. (USES SAME MODE
03200 AS ABOVE.)
03300
03400 S(ET) AND A(LIGN) ---------
03500
03600 IF YOU TYPE 'S' WHILE IN THE ABOVE FORM OF EDIT MODE ('ED') THE
03700 VERTICAL LINE WILL JUMP TO THE POSITION OF THE CURRENT ITEM UNDER
03800 CONSIDERATION. TYPE <CR> TO PROCEED TO OTHER ITEMS. AT THIS POINT
03900 TYPING 'A' WILL AUTOMATICALLY ALIGN THE CURRENT ITEM TO THE POSITION
04000 OF THE ITEM AT 'SET'. TYPE 'X' TO EXIT FROM ANY EDIT MODE.
04100
04200 'LP'=LIGHT PEN --- THIS MAY BE USED IN ANY FORM OF EDIT MODE. MOVE
04300 THE CURSOR TO THE LOCATION DESIRED FOR THE ITEM.
04400 <CR> WILL MOVE THE ITEM. NOTE THAT HORIZANTAL
04500 MOVEMENT IS FREE BUT VERTICAL MOVEMENT IS BY STAFF
04600 NUMBERS. ALL DETAILS OF VERTICAL MOVEMENT MUST BE
04700 TYPED IN.
04800
04900
05000 'I' N = EDIT ITEM NUMBER N
05100 THIS MAY BE TYPED AT ANY TIME WHILE IN EDIT MODE.
05200 THE ITEM INDICATED WILL NEXT COME UP.
05300 'ST' STAFF NUM, CODE NUM--EDITS ONLY ITEMS OF THAT CODE NUM ON
05400 THAT STAFF. IF CODE=0, THEN ALL ITEMS WILL COME UP.
05500
05600
05700 *********** HOW TO CHANGE PARAMETERS ****************
05800
05900
06000 IN EDIT MODE: 'L','R','U', OR 'D' FOLLOWED BY N, MOVES N SPACES TO
06100 LEFT, RIGHT, UP OR DOWN. 2 DIRS. MAY BE GIVEN AT ONCE.
06200
06300 AFTER AN 'L' OR 'R' MOVE HAS BEEN MADE, THE LETTER ALONE (NO NUMBER)
06400 WILL SUFFICE TO MOVE THE SAME VALUE AGAIN. THE SAME APPLIES TO
06500 THE 'U-D' PAIR.
06600
06700 ****-- OR --****
06800
06900 PN1,N1 PN2,N2 PN3,N3 ETC. (TYPE PAIRS OF NUMS TO CHNG PARAMS)
07000 THE FIRST OF EACH PAIR MUST BE THE PARAMETER NUMBER
07100 AND THE SECOND WILL BE THE NEW VALUE FOR THAT PARAM.
07200
07300 IF 2 ZEROS ARE ADDED AFTER A PARAMETER NUMBER (i.e.
07400 600 INSTEAD OF 6) THE SECOND NUMBER OF THE PAIR
07500 WILL BE ADDED TO THE CURRENT VALUE OF THAT PARAMETER
07600 INSTEAD OF MERELY REPLACING. THIS IS USEFUL FOR
07700 EXTENDING P6 OF SLURS OR BEAMS, ETC.
07800
07900 <CR> ENDS EDIT AND MOVES TO NEXT ITEM FOR EDIT
08000 'X' ENDS EDIT, EXITS TO INPUT MODE
08100 'C'SAVES OLD AND NEW FORMS, I.E. "COPIES" ITEM.
08200 'C' N SAVES & MOVES TO ITEM N.
08300 'DEL' DELETES ITEM AND MOVES ON TO NEXT
08400
08500 HOMING **** SET P13=1 TO HOME IN ON ANY NEARBY NOTE ON SAME STAFF.
08600 (P13 RESETS SELF TO 0)
08700
08800
08900 GROUP EDIT COMMANDS - - - - - - -
09000
09100 'MOVE' OR 'M' <CR>: TO MOVE GROUPS OF ITEMS
09200
09300 YOU WILL BE ASKED TO TYPE:
09400 STAFF NUM, POS1, POS2, (CODE NUM)
09500
09600 TO SHRINK OR EXPAND ALL STAVES GIVE STAFF NUM = 11.
09700 IF NO CODE NUM(4TH NUM) IS GIVEN ALL ITEMS IN THE AREA WILL BE MOVED.
09800
09900 IF 'L' IS GIVEN AS STAFF NUM, THE AREA TO BE MOVED MUST
10000 BE INDICATED WITH THE LIGHT PEN.
10100
10200 ********* 88 NOT WORKING NOW 4/75 **************
10300 TO MOVE A CONTINUOUS GROUP OF ITEMS TYPE:
10400 88, 1ST ITEM NUM, LAST ITEM NUM
10500
10600 ----- 'ASK' FEATURE ****** NOT WORKING NOW 4/75 *****------
10700 IF 100 IS ADDED TO THE CODE NUM, YOU WILL BE ASKED IF YOU
10800 WANT TO MOVE EACH ITEM INDIVIDUALLY. 'X' WILL EXIT FROM 'MOVE'.
10900
11000 TYPE '99' AT ANY TIME TO BACKUP WHEN IN 'MOVE', 'COPY', ETC.
11100
11200
11300 THE SECOND PROMPT IS:
11400 TYPE NEW STAFF #, POS1, POS2, UP-DOWN #
11500
11600 IF POS2=0, POS1 WILL BE TAKEN AS THE ABSOLUTE 'MOVE' VALUE.
11700
11800 'COPY' OR 'C' <CR>: TO COPY GROUPS OF ITEMS.
11900
12000 WORKS SAME AS 'MOVE' BUT ORGINAL IS LEFT BEHIND.
12100
12200 'DELETE' OR 'DE' <CR>: TO DELETE GROUPS OF ITEMS.
12300
12400 SAME STRUCTURE AS 'MOVE'.
12500
12600 ******* N,-99 WILL DELETE ALL LINES EXCEPT! LINE 'N'.
12700 ******** USE WITH GREAT CARE!! *********
12800
12900 'ALTER' OR 'A' <CR>: TO ALTER GROUPS OF ITEMS.
13000
13100 FIRST PART IS SAME AS 'MOVE'. AFTER THE AREA HAS BEEN
13200 DESIGNATED YOU WILL BE ASKED TO SPECIFY PARAMETER CHANGES
13300 WITH PAIRS OF NUMBERS -- Pn, Change, Pn, Change, etc.
13400
13500
13600 IF THE FIRST NUMBER GIVEN IS 12 AND YOU HAVE ALREADY
13700 SPECIFIED CODE NUM 1, ALL NOTE STEMS, BEAMS AND SLURS
13800 IN THE GIVEN AREA WILL BE INVERTED.
13900
14000 WITH CODE 8 (SLURS), 12 WILL REVERSE THE CURVE AND PUT
14100 IT ON THE "WRONG" SIDE OF THE NOTE.
14200
14300 IF THE FIRST NUMBER GIVEN IS 13 AFTER CODE NUM.1 HAS BEEN
14400 SPECIFIED THEN ALL NOTES, RESTS AND BEAMS WITHIN THE GIVEN
14500 AREA WILL BECOME "MINIS". USE THIS FOR MAKING CUES, ETC.
14600
14700
14800 'J' WILL AUTOMATICALLY JUSTIFY LINES, ALLOWING PROPER SPACES FOR
14900 FOR MOST ACCIDENTALS, CLEFS, ETC. A STAFF NUM >5 WILL JUSTIFY
15000 ALL LINES AS A UNIT. IF POS2 = 0, IT WILL BE TAKEN AS 200.
15100
15200
15300 'DP' n1, n2, . . . . .: = DISAPPEAR, STF n ....
15400
15500 THIS MAKES STAFF n, ETC. DISAPPEAR FROM THE DISPLAY. THIS
15600 DOESN'T DELETE ANY DATA - IT JUST MAKES IT TEMPORARILY
15700 INVISIBLE. THERE ARE 2 REASONS FOR DOING THIS. WHEN SEVERAL
15800 STAVES ARE BEING USED THERE IS SOMETIMES CONSIDERABLE FLICKER ON
15900 THE DISPLAY. 'DP' ALLOWS ONLY SELECTED STAVES TO APPEAR, THUS
16000 STOPPING THE FLICKER. ALSO WHEN THE SYSTEM IS HEAVILY LOADED
16100 MANY FEATURES OF THIS PROGRAM WILL RUN MUCH FASTER IF 'DP' IS
16200 USED. TO MAKE ANY STAFF REAPPEAR JUST TYPE 'DP' n 99 AND THE
16300 STAFF WILL COME BACK. 'DP' 11 MAKES ALL INVISIBLE STAVES REAPPEAR.
16400 END WITH A 99 TO MAKE THE EFFECT IMMEDIATE.
00100 -------- SECTION V ---------
00200
00300 'SCORE' ITEMS: NOTES-- 'IN', STAFF, MODE
00400
00500 'READ' (INSTEAD OF 'IN')WILL READ EDIT FILE. SEE BELOW FOR FILE
00600 FORMAT. THE PROGRAM WILL ASK FOR STAFF NUMBER AND FILE NAME.
00700
00800 ****** THERE ARE 3 INPUT MODES POSSIBLE. THE 1ST DEALS SEPARATELY
00900 WITH PITCH AND RHYTHM PARAMETERS. THE 2ND COMBINES THEM
01000 IN ONE INPUT LIST. ALL THE EXAMPLES BELOW (UNTIL MODE 2
01100 IS MENTIONED) WILL REFER TO MODE 1.
01200 TO USE MODE 2 SET P3 TO 2. e.g. IN -3 2
01300
01400 THE 3RD MODE IS TO BE USED WHEN A USER-ADDED SUBROUTINE IS
01500 TO BE ACCESSED. SET THE MODE NUMBER TO 500 FOR THIS.
01600
01700
01800 **** HOW TO USE "SCORE" ITEMS ****
01900
02000 NOTES ARE TYPED IN ALMOST EXACTLY AS IN THE "SCORE" PROGRAM.
02100 I.E. S=#, F=b, N=NATURAL (bb AND ## ARE NOT AVAILABLE YET.)
02200 OCTAVE NUMBERS MUST BE USED. 'P' (FOR PROXIMITY MODE) MAY
02300 BE USED. 'O' RETURNS TO ORDINARY MODE.
02400
02500 R=REST RI=INVISIBLE REST
02600 RU=REST UP(ABOVE STAFF) RD=REST DOWN(BELOW STAFF)
02700 RW=WHOLE REST Rn=WHOLE REST WITH THE NUMBER n ABOVE IT (UP TO 99).
02800
02900 ALL OF THESE MUST BE GIVEN TIME VALUES UNDER 'RHYTHM' BUT THE LAST TWO
03000 MAY BE GIVEN ANY RHYTHMIC VALUE DESIRED.
03100
03200 TREBLE CLEF IS ASSUMED. TO ENTER A CLEF, TYPE CLEF NAME
03300 FOLLOWED BY A SLASH. (TR/ BA/ AL/ TEN/) PRECEDED THE CLEF
03400 NAME BY A MINUS SIGN (-BA/) TO HAVE THE AFFECT OF A CLEF WITHOUT
03500 THE CLEF ACTUALLY APPEARING. (IF NO CLEF IS GIVEN IT WILL ALWAYS
03600 BE TREBLE CLEF POSITION.)
03700
03800 USE 'M' (FOR MEASURE) TO ENTER A BAR LINE. 'M2' WILL MAKE A BAR GO
03900 UP 2 STAVES; 'M3' WILL GO UP 3 STAVES, ETC.
04000 'MD', 'MD2', ETC. WILL MAKE A DOUBLE BAR WITH THE HEAVY ONE TO THE
04100 LEFT. (THESE MUST BE EDITED LATER TO MAKE THIN DOUBLE BARS, REPEAT
04200 BARS, ETC.)
04300
04400 METER (TIME SIGNATURE) MAY BE ENTERED WITH /Tn,m/ WHERE n,m ARE
04500 THE TOP AND BOTTOM METER NUMBERS. IF n=99 AND m=1 THE LETTER C WILL
04600 PRINT. (THE 1 MUST BE THERE. i.e./T99 1/) 98 1 GIVES 'ALLA BREVE'.
04700
04800 FOR KEY SIGS TYPE /Kna/ WHERE n=NUMBER OF ACCIDENTALS AND
04900 a='S' OR + FOR SHARPS, OR - OR 'F' FOR FLATS.
05000
05100 NO MORE THAN 72 CHARACTERS MAY APPEAR
05200 ON ONE LINE OF INPUT. (BUT MORE THAN ONE LINE MAY BE USED.)
05300 THE LINE MUST END WITH A SLASH OR, WHEN NO MORE NOTES ARE
05400 TO APPEAR, WITH A SEMI-COLON.
05500
05600 THE MOTIVIC FEATURES OF "SCORE" MAY BE USED WITH INPUT
05700 MODE 1 (BUT WITH NO "NESTING"). MOTIVES ARE SAVED
05800 WITH DISPLAY DATA AND CAN BE REUSED WHEN WORKING LATER.
05900 (NO MORE THAN 200 ITEMS CAN BE SAVED IN ANY LIST OF MOTIVES.)
06000 THE TRANSPOSITION FEATURES ASSOCIATED WITH THE 'MOTIVIC'
06100 PROCEDURES ARE A LITTLE DIFFERENT IN MSS AS COMPARED TO
06200 'SCORE'. IN THE FOLLOWING EXAMPLE A SCALE AND CHORD ARE
06300 ARE SET UP AS SEPARATE MOTIVES AND IN COMBINATION TO FORM
06400 A 3RD MOTIVE.
06500
06600 A(C4/D/EF/F)/B(D:F:AF)/Q(@A/@B)/
06700
06800 THIS WOULD CAUSE THE SCALE AND THE CHORD TO PRINT TWICE.
06900 THEN - -
07000
07100 @A4/@Q3/ WILL GIVE THE SAME AS - -
07200
07300 G4/A/BF/C5/ F4/G/AF/BF/ G:B:DF5/
07400 |__________| |_________| |______|
07500 'A' ↑ 4 STEPS 'A' ↑ 3 'B' ↑ 3
07600 |__________________|
07700 'Q' ↑ 3 STEPS
07800
07900 RETROGRADES AND INVERSIONS MAY BE USED, BUT DON'T FORGET
08000 THAT THE SAME ACCIDENTALS WILL ALWAYS APPEAR ON EACH NOTE
08100 NO MATTER WHAT THE NUMBER OF STEPS OF CHANGE.
08200
08300 CHORDS ARE CONSTRUCTED BY USING THE COLON IN PLACE OF THE SLASH
08400 BETWEEN NOTES.
08500
08600 THE COLON CAUSES THE NOTE TO OCCUPY THE SAME RHYTHMIC POSITION
08700 AS THE FIRST NOTE TO APPEAR AFTER A COLON. THE STEM DIRECTION IN
08800 CHORDS WILL BE DETERMINED BY THE ORDER OF APPEARANCE OF THE NOTES.
08900 IF THE FIRST NOTE IS THE LOWEST, THE STEM GOES UP; IF THE FIRST IS
09000 THE HIGHEST, THE STEM GOES DOWN. POSITIONING OF NOTES ON PROPER
09100 SIDE OF STEM AND (IN MOST CASES) SPACING OF ACCIDENTALS AND DOTS
09200 IS AUTOMATIC.
09300
09400 NOTE THAT SINCE ALL THE NOTES OF A CHORD USE ONLY ONE RHYTHM
09500 ALL REPEAT FEATURES CONSIDER ALL NOTES OF A CHORD AS ONE
09600 ENTITY. / C4 / D:F:A / REP 2 3/ WILL DRAW THE SEQUENCE
09700 C, D MINOR CHORD THREE TIMES. / D:F:A X3/ DRAWS 3 CHORDS.
09800 / D:F:A //// MAKES 4 CHORDS.
09900
10000
10100 ALL NON-RHYTHMIC ITEMS (CLEFS, ETC.) WILL BE IGNORED IN
10200 REGARD TO THE 1ST NUMBER AFTER 'REP'.
10300 / C4 / M / D:F:A / REP 2,3 / WILL CONSIDER THE 2 ITEMS
10400 TO BE 'C' AND THE D MINOR CHORD, BUT THE BAR LINE WILL
10500 BE INCLUDED IN THE REPEAT. THUS THE PROGRAM WILL DRAW
10600 'C', 'BAR', 'D MINOR' - THREE TIMES.
10700
10800 GRACE NOTES MAY BE USED -- SEE UNDER RHYTHM BELOW.
10900
11000 TO BYPASS AUTOMATIC STEM DIRECTIONS TYPE SU/ (STEM UP) OR SD/
11100 (STEM DOWN). ONCE EITHER OF THESE APPEARS ALL THE STEMS WILL GO IN
11200 THE INDICATED DIRECTION UNTIL A CHANGE IS GIVEN.
11300
11400 ********* NOTE THAT ALL REPEAT FEATURES (X, /, REP) IGNORE 'SD', 'SU'
11500 AND 'M' INDICATIONS. THUS M/C4/SD/E/F/M/SU/REP 3/ WILL DISPLAY A
11600 BAR LINE, C, E AND F WITH STEMS DOWN, A BARLINE, C WITH STEM UP AND
11700 E AND F WITH STEMS DOWN AND FINALLY ANOTHER BARLINE. THE 'REP 3'
11800 SAYS THAT 3 NOTES AND THE THINGS THAT GO WITH THEM WILL BE REPEATED.
11900
12000 (INPUT MODE 1)
12100 EX. M/BASS/ K4F /T12 8 /C3/EF/E/ M /D X 3/EN2:GS:B/M;
12200
12300 A BAR LINE COMES FIRST, THEN BASS CLEF.
12400 NEXT IS A 4 FLAT KEY SIGNATURE, FOLLOWED BY 12/8 TIME.
12500 THE 3RD NOTE WILL BE AN 'E' WITH NO ACCIDENTAL.
12600 A BAR LINE WILL PRECEED THE THREE Ds.
12700 THE LAST 3 NOTES WILL BE AN E MAJOR CHORD.
12800 ENDS WITH A BAR LINE.
12900 (In the example above the spaces on either side of the
13000 slashes are optional [to help proof reading]. The space
13100 between 12 and 8 in "T12 8" is required.)
13200
13300
13400 AFTER THE LAST NOTE HAS BEEN ENTERED THE PROGRAM WILL
13500 ASK FOR 'POS1, POS2, (SPC)'.
13600 THE NOTES WILL BE EVENLY SPACED BETWEEN THE 2 POSITIONS ENTERED.
13700 (<CR>=0,200) AFTER THE RHYTHM IS ENTERED THE NOTES WILL BE SPACED
13800 EXACTLY ACCORDING TO THEIR RHYTHMIC VALUES IF NO 3RD NUMBER WAS
13900 TYPED. IF A 3RD NUMBER IS ENTERED, THE RHYTHMIC VALUES WILL BE SPACED
14000 ACCORDING TO A PSUEDO-FIBONACCI SCALE. I.E. HALF NOTES WILL TAKE
14100 SOMEWHAT LESS THAN TWICE AS MUCH SPACE AS QUARTERS, ETC. --- USE
14200 THIS MOSTLY FOR SINGLE-LINE PARTS!!
14300
14400 NEXT YOU WILL BE ASKED TO 'TYPE RHYTHM'.
14500 '99' WILL BACK UP, '999' WILL ESCAPE FROM "SCORE" MODE.
14600
14700 A rhythmic duration must be given for each note, rest or
14800 chord previously entered. (Clefs, bar lines, etc. should
14900 ignored.)
15000
15100 THE MOST COMMON RHYTHMIC VALUES MAY BE ENTERED WITH LETTER NAMES.
15200
15300 S=SIXTEENTH, E=EIGHTH, Q=QUARTER, H=HALF, W=WHOLE, D=DOUBLE WHOLE,
15400 T=TRIPLET(i.e.12th NOTES) , G=GRACE NOTE (OR 88TH)
15500
15600 'T' IN FRONT OF ANY OF THE LETTERS (EXCEPT 'G') WILL PRODUCE THE
15700 TRIPLET VALUE OF THAT UNIT. E.G. 'TQ' = A TRIPLET QUARTER NOTE.
15800 ('T' CANNOT BE USED DIRECTLY IN FRONT OF NUMBERS!)
15900
16000 THESE ARE THE ONLY! LETTER NAMES THAT MAY BE USED. HOWEVER ANY
16100 RHYTHMIC VALUE, NO MATTER HOW COMPLEX, MAY BE ENTERED IN NUMERICAL
16200 FORM. 16=SIXTEENTH, 10=TEN IN THE TIME OF A WHOLE NOTE, 12=TWELVE IN
16300 THE TIME OF A WHOLE NOTE(THE NORMAL TRIPLET), ETC. NUMBERS AND
16400 LETTERS MAY BE MIXED IF DESIRED.
16500
16600 DOTTED RHYTHMS WILL AUTOMATICALLY PUT DOTS ON NOTES. MORE COMPLEX
16700 RHYTHMS MUST BE DOTTED INDIVIDUALLY. (THEY WILL BE CORRECTLY
16800 SPACED.)
16900
17000 4 16TH NOTES, A QUARTER, A DOTTED 8TH, 16TH, HALF,
17100 3 TRIPLETS, AND A WHOLE NOTE FOLLOW:
17200
17300 16////4/8./16/2/12///1;
17400 (OR: S////Q/E./S/H/T///W; )
17500
17600 **** FOR GRACE NOTES, TYPE 'G' OR RHYTHMIC VALUE OF 88.
17700
17800
17900 ****** INPUT MODE 2 ******** ONLY DIFFERENT FOR NOTES AND RHYTHMS
18000
18100 IN THIS CASE EACH NEW RHYTHMIC VALUE (NUMBERS ONLY) MUST BE
18200 ENTERED JUST BEFORE THE NOTE (OR CHORD) TO WHICH IT WILL APPLY.
18300 REPEAT FEATURES WILL ACT IN THE NORMAL WAY.
18400
18500 TR/4 C4/ D / 8 E/F// 16 G/ A/ 4//REP 4;
18600 PRODUCES - TREBLE CLEF, QUARTER-C, QUARTER-D, EIGHTH-E,
18700 2 TIMES 8TH-F, 16TH-G, 16TH-A, QUARTER-A, QUARTER-A, THE LAST 4
18800 ITEMS (G A A A)REPEAT WITH THEIR GIVEN RHYTHMS.
18900 OF COURSE THERE WILL NOW BE NO PROMPT FOR RHYTHMS.
19000
19100
19200 AFTER THE RHYTHM HAS BEEN ENTERED THE NEXT REQUEST IS 'ADD
19300 MARKS?' TYPE 'Y', 'N', 99 OR 999. IF 'YES' GIVE NOTE NUMBERS AND THE
19400 ABBREVIATIONS FOR MARK NAMES. WHEN COUNTING NOTES, IGNORE RESTS,
19500 CLEFS ETC. CHORDS COUNT AS 1 NOTE. THE ABBREVIATIONS FOR THE
19600 ACCENTS, ETC. ARE W(EDGE), A(CCENT), FE(RMATA), S(TACCATO),
19700 T(ENUTO)(DASH), D(OWN BOW), U(P BOW), H(ARMONIC), PL(US), CR(ESC.),
19800 HW (HEAVY WEDGE), DI(M.), AC(CEL.), R(IT.), C+, C-.
19900 THE LAST TWO LISTED, C+,C-, WILL PRODUCE THE LINEAR CRESC.
20000 AND DECRESC. SIGNS. WITH THESE TWO ITEMS ONLY! YOU MUST TYPE A
20100 SECOND POSITION NUMBER.
20200
20300 /1.3 C+ 3/ PUTS A CRESC. SIGN FROM BETWEEN NOTES 1 AND 2 EXTENDING
20400 TO NOTE 3.
20500
20600 /.5 C- 3.5/ PUTS A DECRESC. SIGN FROM 1/2 WAY BETWEEN THE POSITION 1
20700 (GIVEN EARLIER) AND NOTE 1 TO A POINT 1/2 WAY BETWEEN NOTES 3 AND 4.
20800
20900
21000 THE DYNAMICS, ETC. WHICH MAY BE ENTERED ARE:
21100
21200 PPP, PP, P, MP, MF, F, FF, FFF, CRESC., DIM., ACCEL., RIT.
21300
21400 ALL THESE MAY BE PUT DIRECTLY UNDER NOTES, OR, BY USING FRACTIONAL NOTE
21500 NUMBERS, BETWEEN NOTES.
21600
21700 /1.5 PP/ PUTS PP 1/2 WAY BETWEEN NOTES 1 AND 2.
21800
21900
22000 UP TO 2 MARKS(I.E. NOT DYNAMICS, ETC.) MAY BE ENTERED FOR
22100 EACH NOTE -- BUT EACH MARK MUST BE ENTERED SEPARATELY WITH ITS NOTE
22200 NUMBER. IN ADDITION TO THE MARKS A DYNAMIC INDICATION, ETC. MAY BE
22300 ENTERED FOR THE SAME NOTE.
22400
22500 EXAMPLE: 1 A / 6 A / 7 T / 10 S / 10 W;
22600 = 1 ACCENT/6 ACCENT/7 TENUTO/10 STACCATO/10 WEDGE ACCENT
22700
22800
22900 NEXT YOU WILL BE ASKED 'ADD BEAMS?' TYPE 'Y', 'N' OR nB TO THIS.
23000 nB WILL PLACE BEAMS AUTOMATICALLY. (SEE BELOW)
23100 '99' WILL BACK UP, '999' WILL ERASE INPUT AND
23200 LEAVE "SCORE" MODE.
23300
23400 'G' (FOR GO) (INSTEAD OF 'Y' OR 'N') WILL OMIT ALL FURTHER
23500 PROMPTS IN THIS MODE.
23600
23700 BEAMS WILL BE ENTERED AUTOMATICALLY IF YOU TYPE nB; WHERE n=THE
23800 NUMBER OF EIGHTH NOTES TO BE BEAMED TOGETHER. 2B; WILL BEAM BY
23900 QUARTERS (I.E. 2 8THS), 3B; GIVES STANDARD BEAMING FOR 3/8 OR 6/8
24000 TIME. DECIMAL NUMBERS MAY BE USED FOR N. THUS 1.5B; WOULD BEAM EACH
24100 GROUP OF 3 16THS.
24200
24300 IF IRREGULAR BEAMS ARE NEEDED, GIVE THE NOTE NUMBERS FOR THE FIRST
24400 AND LAST NOTES TO BE UNDER EACH BEAM. NORMALLY THE STEM DIRECTION
24500 FOR ALL NOTES UNDER A BEAM WILL BE DETERMINED AUTOMATICALLY. HOWEVER
24600 IF YOU SHOULD WISH TO GO AGAINST THE NORM ADD 100 TO THE 2ND NOTE
24700 NUMBER TO INSURE THAT ALL STEMS GO UP OR ADD 200 (OR JUST '-') TO
24800 MAKE ALL STEMS GO DOWN.
24900
25000 WHEN COUNTING NOTES, IGNORE RESTS, CLEFS ETC. CHORDS COUNT AS
25100 ONE NOTE.
25200
25300 IF YOU HAVE 4 16TH NOTES (STEMS UP) FOLLOWED BY 2 QUARTERS
25400 AND 3 8THS (YOU WISH TO BE SURE THE STEMS DOWN) TYPE:
25500
25600 1,4 / 7 209 ;
25700
25800 SOME PARTIAL BEAMS MAY HAVE TO BE ADDED INDIVIDUALLY AS YET.
25900
26000 ****** AUTOMATIC BEAMS ****** IN MOST SIMPLE SITUATIONS ALL THE
26100 BEAMS MAY BE PLACED AUTOMATICALLY BY SIMPLY TYPING "2B;". (OR
26200 "3B;") 2B; WILL CAUSE ALL LOGICAL BEAM CONNECTIONS TO BE MADE
26300 IN TERMS OF DUPLE RHYTHM. USE 3B; FOR TRIPLE RHYTHMS SUCH AS
26400 3/8, 6/8, 9/8, ETC. THE BASIC UNIT FOR 2B; IS THE QUARTER NOTE
26500 AND THE BASIC UNIT FOR 3B; IS THE DOTTED QUARTER.
26600
26700
26800 LASTLY YOU WILL BE ASKED 'ADD SLURS?'
26900 TYPE 'Y' OR 'N'. TO THIS.
27000
27100 IF SLURS ARE ADDED, THE ORDER NUMBERS OF THE NOTES AT THE BEGINNING
27200 AND END OF THE SLUR MUST BE GIVEN. NORMALLY THE DIRECTION OF THE
27300 'DIP' OF THE SLUR WILL BE DETERMINED BY THE STEM DIRECTION OF THE
27400 FIRST NOTE INVOLVED. IF THE LAST NOTE UNDER A SLUR HAS THE OPPOSITE
27500 STEM DIRECTION THEN THE VERTICAL POSITION OF THE RIGHT END OF THE
27600 SLUR WILL BE JUST BEYOND THE END OF THE STEM. (WHEN BEAMS ARE
27700 INVOLVED THE SLUR MAY POSSIBLY BUMP INTO THE BEAM. THESE SITUATIONS
27800 MUST BE EDITED AFTER THE INPUT IS ENDED.)
27900 SLURS MAY BE MADE TO GO COUNTER TO THE NORMAL BY ADDING 100
28000 TO THE 2ND NOTE NUMBER TO INSURE THAT THE 'DIP' BE UPWARD OR BY
28100 ADDING 200 (OR A - SIGN) TO THE 2ND NUMBER TO INSURE THAT THE 'DIP'
28200 BE DOWNWARD.
28300
28400 THE AMOUNT OF CURVE WILL DEPEND ON THE CONFIGURATION OF THE
28500 NOTES BETWEEN THE END POINTS. IN EXTREME SITUATIONS IT IS PROBABLE
28600 THAT THE RESULT OF THIS AUTOMATIC PROCEDURE WILL HAVE TO BE EDITED.
28700
28800 A TYPICAL EXAMPLE OF INPUT: 2,-3/ 2,-7/ 8,11;
28900 OR: 2 203/ 2 207/ 8 11;
29000
29100 THIS WILL PUT SLURS FROM 2ND TO 3RD NOTE, 2ND TO 7TH
29200 AND 8TH TO 11TH.
29300
29400 TO SLUR INTO THE 1ST NOTE, TYPE -1,1/ OR -1, -1/. TO SLUR OUT FROM
29500 THE LAST NOTE, TYPE 'N,99;', 'N,199', 'N,299' OR N,-99; WHERE
29600 N=NUMBER OF LAST NOTE.
29700
29800 ***** NOTE THAT TIES BETWEEN THE INNER NOTES OF TWO CHORDS CANNOT
29900 BE DONE AUTOMATICALLY AS YET.
30000
30100 TO MAKE NUMBERED BRACKETS (FOR TRIPLETS, ETC.) INSTEAD OF SLURS, TYPE
30200 THE NUMBER (ONE DIGIT ONLY) DESIRED TO THE RIGHT OF THE DECIMAL OF
30300 THE FIRST OF A PAIR. THUS TO PUT A BRACKETED 3 OVER NOTES 7 TO 9,
30400 TYPE 7.3 9/ . AS WITH SLURS, THE SECOND NUMBER MAY BE NEGATIVE TO
30500 GET A DOWNWARD BRACKET.
30600
30700
30800 ∞∞∞∞∞ FOR 'BEAMS', 'MARKS' AND 'SLURS' A 2ND LINE OF INPUT MAY BE
30900 GIVEN IF THE 1ST LINE ENDS WITH '/' INSTEAD OF ';'.
31000
31100 ALL ITEMS ENTERED UNDER 'IN' OR 'READ' MAY BE EDITED LATER AS
31200 IF THEY WERE ENTERED INDIVIDUALLY.
31300
31400 FOR 'READ': FOLLOWING IS THE FILE FORMAT FOR "SCORE" INPUT FROM
31500 AN EXTERNALLY EDITED FILE. THE NAME OF THE FILE CAN HAVE NO MORE
31600 THAN FIVE LETTERS.
31700
31800 00100 (NOTES) . . . ;
31900 00200 (RHYTHM) . . . ;
32000 00300 (ACCENTS) . . ; BLANK LINE = NO MARKS
32100 00400 (BEAMS) . . ; A BLANK LINE = NO BEAMS
32200 00500 (SLURS) . . ; BLANK LINE = NO SLURS
32300
32400 (2ND LINES MAY BE ADDED WITH ALL ITEMS.)
32500
32600 THIS SEQUENCE MAY BE REPEATED SEVERAL TIMES. THE PROGRAM WILL
32700 ASK FOR EACH OF THE STAFF NUMBERS.
32800
32900
33000 **** SUMMARY OF SCORE CODES ****
33100
33200 NOTES A-G
33300 ACCIDENTALS F-S-N
33400 REST R, RI FOR INVISIBLE REST, RW FOR WHOLE REST ALWAYS.
33500 CLEFS TR-BA-AL-TE -TR, -BA, ETC. =INVISIBLE CLEF
33600 BAR, MEASURE M
33700 KEY SIG. KnS OR KnF
33800 METER,TIME SIG. Tn,m
33900 STEM DIRECTION SU-SD
34000 iXn REPEAT ITEM i A TOTAL OF n TIMES.
34100 REP n,m REPEAT LAST n ITEMS A TOTAL OF m TIMES.
34200 Xn m SAME AS REP.
34300 ACCENT A
34400 WEDGE W
34500 HEAVY WEDGE HW
34600 TENUTO T
34700 STACCATO S
34800 HARMONIC H
34900 FERMATA FE
35000 DOWN BOW D
35100 UP BOW U
35200 +(PLUS) PL
35300 THESIS TH
35400 ARSIS AR
35500 MORDANT MO
35600 INV. MORD. I
35700 TRILL TR
35800 PPP, PP, P, MP, MF, F, FF, FFF
35900 CRESC. C
36000 ACCEL. AC
36100 DIM. DI
36200 RIT. R
36300 < (CRESC.) n1 C+ n2
36400 > (DECRESC.) n1 C- n2
00100 --------- SECTION VI -----------
00200
00300 ********* TO SET UP AUTOMATIC IRREGULAR RHYTHMIC SPACING *******
00400 ---- TYPE 'SP' n to setup STAFF n as basis for automatic spacing. ---
00500
00600 ANY NOTES WHICH APPEAR ON STAFF n WILL CAUSE ALL ITEMS LATER
00700 ENTERED WITH 'IN' OR 'READ' TO BE SPACED ACCORDING TO THE SPACING
00800 GIVEN ON STAFF n.
00900
01000 ALL FURTHER LINES ENTERED WILL CONFORM TO THE SPACING ON
01100 STAFF n UNLESS THE STAFF IS DELETED OR 'SP' IS AGAIN TYPED,
01200 FOLLOWED BY SOME NEW NUMBER.
01300
01400 ------N.B. IF ANY EDITING OF STAFF n IS DONE BE SURE THAT THE
01500 SPACE VALUES IN P9 OF NOTES OR P7 OF RESTS IS CORRECT. THE
01600 AUTOMATIC SPACING IS BASED ON THESE VALUES. THE VALUES ARE
01700 SET WHEN 'IN' OR 'READ' IS USED. THE BASIC VALUE IS ONE
01800 QUARTER=1. HALF=2, WHOLE=4, EIGHTH=.5, SIXTEENTH=.25, ETC.
01900
02000 NOTE THAT 'SP' MUST BE RESET AFTER ANY RESTART OR WHEN
02100 RE-RUNNING THE PROGRAM.
02200
02300 IT IS BEST TO ACCOUNT FOR ALL BAR LINES, CLEFS, METERS, ETC.
02400
02500
02600 IN GENERAL, IT IS PROBABLY BETTER TO USE MANY SMALL VALUES ON
02700 STAFF n. THIS WAY IT IS EASIER TO MAKE MANY DELICATE ADJUSTMENTS.
02800
02900 ******* PARTS ********
03000
03100
03200 WHEN ASKED "TYPE TOP STAFF #", GIVE THE HIGHEST STAFF NUMBER
03300 YOU WANT USED FOR THIS SECTION OF THE PART INVOLVED. IF YOU TYPE "2"
03400 THE LINES 2, 1, 0, ETC. WILL BE USED UNTIL BUFFER SPACE IS EXHAUSTED.
03500
03600 THE NEXT PROMPT WILL BE 'TYPE INPUT NAME, (CONT.), (NOBAR)'.
03700 TYPE THE NAME OF THE FIRST FILE OF THE FULL SCORE TO BE READ. IF A
03800 NUMBER(>0) IS TYPED AFTER THE NAME THE READ-IN PROCEDURE WILL
03900 CONTINUE ON TO THE NEXT FILE NAME, ALPHABETICALLY, AND WHEN NO MORE
04000 ARE FOUND IT WILL EXIT.
04100 ORDINARILY THE BAR LINES OF THE FULL SCORE ARE PICKED UP FOR EACH
04200 INSTRUMENTAL PART. TO OMIT THESE BARLINES TYPE ANY NUMBER(>0) AFTER
04300 THE 'CONT.' NUMBER.
04400
04500 THE NEXT PROMPT WILL BE, 'INST. NAME?' THIS ASSUMES THE
04600 ORIGINAL SCORE HAS INSTRUMENT NAMES TYPED IN P9 FOR EACH STAFF (SEE
04700 CODE 2, PG.2). BE SURE YOUR INSTRUMENT NAMES DO NOT EXCEED 5 LETTERS.
04800 IF NO INST. NAMES WERE GIVEN BUT THE PART TO BE EXTRACTED IS ALWAYS
04900 ON THE SAME STAFF, THIS STAFF NUMBER MAY BE GIVEN AS THE INST. NAME.
05000
05100 THE NEXT PROMPT WILL BE 'TRANS. NUM--'. ANSWER THIS BY THE
05200 NUMBER OF NOTE STEPS (NOT 1/2 STEPS!) TO BE TRANSPOSED.
05300
05400 THE MESSAGE "NO ROOM FOR THIS ONE" MEANS THE BUFFER DOES NOT HAVE
05500 ROOM LEFT FOR ANOTHER COMPLETE LINE. THIS LAST LINE WILL BE
05600 COMPLETELY IGNORED. THEN YOU MUST START ANOTHER FILE.
05700
05800 TRANSPOSITIONS FOR "Bb" INSTRUMENTS AND FOR "F" INSTRUMENTS WILL
05900 AUTOMATICALLY FIX MOST OF THE NEEDED CHANGES IN ACCIDENTALS. HOWEVER
06000 THERE ARE MANY CASES WHERE WRONG RESULTS MIGHT OCCUR (SUCH AS WITH
06100 NOTES TIED OVER BAR LINES, ETC.) SO CAREFUL PROOF READING IS
06200 ESSENTIAL.
06300
06400 THE SECOND PROMPT IS 'TYPE FILE NAME'. IF NO NUMBER FOLLOWS THE NAME
06500 THE PROGRAM WILL TRY TO CONTINUE READING FILE NAMES, UP
06600 ALPHABETICALLY FROM THE GIVEN NAME. WHEN NO MORE ARE TO BE FOUND IN
06700 THAT SEQUENCE, THE PROMPT WILL BE GIVEN AGAIN AND A NEW SET OF FILES
06800 CAN BE ADDED. THIS WORKS ONLY FOR NAMES OF EXACTLY 5 CHARACTERS.
06900 SHORTER NAMES MUST BE READ IN ONE AT A TIME -- AND TO DO THIS, THE
07000 NUMBER 1 MUST COME AT LEAST 5 SPACES AFTER THE START OF THE LINE!
07100 WHEN NO MORE NAMES ARE TO BE ADDED, HIT 'RETURN'.
07200
07300 WHEN UNPACKING, THE PROMPT 'GET WHICH FILE?' WILL APPEAR. IF YOU HIT
07400 'RETURN' ALL NAMES IN THE FILE WILL BE UNPACKED. IF A NAME IS GIVEN,
07500 ONLY THAT ONE WILL BE UNPACKED. IF A NUMBER FOLLOWS THE NAME (AT
07600 LEAST 5 SPACES IN) A TOTAL OF THAT NUMBER OF FILES WILL BE UNPACKED
07700 BEGINNING WITH THE GIVEN NAME.
07800
07900 WHEN FILES ARE ADDED TO A PACKED FILE THEY ARE SIMPLY ADDED ON THE
08000 END. IF THE NAME GIVEN IS ALREADY THERE, THE EARLIER NAME WILL NOT
08100 BE DELETED. THUS WHEN THEY ARE UNPACKED THE EARLY VERSION OF THAT
08200 NAME MUST BE IGNORED.
00100 INDEX TO SUBROUTINES:
00200
00300 FILE NAME:
00400
00500 FORTRAN PROGRAMS:
00600
00700 MSS
00800 PLTSRT SLUR
00900 PLTSRT
01000 BOX
01100 FORMAT
01200
01300 HOMF4
01400
01500 MOVER
01600
01700 CLEFS
01800
01900 GREDX VLINE
02000 ASKIT
02100 GRED
02200 LPEN
02300 SAVIT
02400 LISTP
02500
02600 RESTS TAIL
02700 REST
02800 BREP
02900 FERMTA
03000 PNUM
03100
03200 ALPHA ALPHA
03300 SPACER
03400
03500 WORDS WORDS
03600 TYPE
03700 SETLET
03800 LNEND
03900 FILLMS
04000 PRESCN
04100
04200 SCMSS
04300
04400 RHYTH RHYTH
04500 SETUP
04600 MARKS
04700
04800 NOTBMS NOTES
04900
05000 BEAMS BEAMS
05100
05200 PREFIL FILLMS
05300 ROTATE
05400
05500 COPYIT COPYIT
05600 STFCH
05700 UPDN
05800
05900 FAIL PROGRAMS:
06000
06100 LOOP LOOP
06200 FINDIT
06300 PLACE
06400 DPYNEW
06500 MVBEAM
06600 MVBX
06700 JUGGLE
06800 XNOTE
06900 BAUTO
07000 SORT2
07100 UPDATE
07200 NEWR
07300 MSSLUP
07400 LUP2
07500 HOMER
07600 FSCAN
07700 NALF
07800
07900 SLOOP RNOTE
08000 DRWNT
08100 RDRAW
08200 SLOOP
08300 CIRCLE
08400 PSRT
08500 RUNTHR
08600
08700 FILL FILLER
08800 LINES
08900 EDIT
09000
09100 MFAIL RJBX
09200 CENTX
09300 EXTEN
09400 JDRAW
09500 CENTER
09600 LINX
09700 UNPACK
09800 ROFF
09900 NOZERO
10000 EXCH
10100 BMS
10200 IABS
10300 ABS
10400 RHORZ
10500 RTLINE
10600 FLOAT
10700 IFIX
10800
10900 SCAN SCANR
11000
11100 NEW BMSTF
11200
11300 CODE4 ITMSUB
11400
11500 KSIG KSIG
11600
11700 NTSB NOTWRT
11800
11900 NTS NTS
12000 STAFF
12100
12200 METER METER
12300 MAKNUM
12400
12500 MOVE MOVIT
12600 GETPTS
12700 OUTLIM
12800 COPYIT
12900 UPDN
13000 STFCH
13100 DELETE
13200 NOIR (DUMMY)
13300 SLEND
13400 POSIT
13500
13600 MSSIO GETFI2
13700 FASTI2
13800 LOOK
13900 LOOKD
14000 LOOKF
14100 (PAC)
14200 (UNPAC)
14300
14400 FILES FOR PLOTTER AND XGP OUTPUT.
14500
14600 MPRNT
14700 PPSRT SLUR
14800 PLTSRT
14900 CLEFS
15000
15100 PLTIT PLTCMD
15200 FILLMS
15300 ROTATE
15400
15500 FILLXG FILLER
15600 LINES
15700 PLOT
15800 (PLOTS)
15900 NOIR
00100 ******* SOME COMMAND FILES (4/76) **********
00200
00300 RAIDT.CMD -------- LOADS WITH UPPER SEGMENT
00400
00500 %S MSS,MOVER,GREDX,WORDS,SCMSS,MSSIO,CLEFS,BEAMS
00600 ,NOTBMS,RHYTH,HOMF4
00700 ,RESTS,ALPHA,PLTSRT,TABL
00800 ,%1< %1B NTS,LOOP,SLOOP,MFAIL,MOVE,FILL,CODE4,KSIG,SCAN
00900 ,NTSB,NEW,SEGFIX,METER,CURSOR.REL[MSS,LCS],%LSYS:LIB40 %V
01000
01100
01200
01300 RAIDM.CMD ---- FOR PROGRAM 'MP'
01400
01500 %S MPRNT,RESTS,ALPHA,PPSRT,CLEFS,PLTIT
01600 ,PLOT,MSSIO,TABL
01700 , %1< %1B ,NEW,METER,NTSB,NTS,SEGFIX,CODE4
01800 ,KSIG,SLOOP,MFAIL,FILLXG,%LSYS:LIB40 %V